<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Annuaire genealogique associatif: Référence de la classe lab3::Liste&lt; T &gt; (modèle)</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Généré par Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Annuaire genealogique associatif&#160;<span id="projectnumber">1.0</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Page&#160;principale</span></a></li>
      <li><a href="namespaces.html"><span>Espaces&#160;de&#160;nommage</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Fichiers</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Liste&#160;des&#160;classes</span></a></li>
      <li><a href="functions.html"><span>Membres&#160;de&#160;classe</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('classlab3_1_1_liste.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Fonctions membres publiques</a> &#124;
<a href="#pri-types">Types privés</a> &#124;
<a href="#pri-attribs">Attributs privés</a> &#124;
<a href="#friends">Amis</a>  </div>
  <div class="headertitle">
<div class="title">Référence de la classe lab3::Liste&lt; T &gt; (modèle)</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="lab3::Liste" -->
<p>classe générique représentant une liste ordonnée  
 <a href="classlab3_1_1_liste.html#details">Plus de détails...</a></p>

<p><code>#include &lt;Liste.h&gt;</code></p>
<div class="dynheader">
Graphe de collaboration de lab3::Liste&lt; T &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="classlab3_1_1_liste__coll__graph.png" border="0" usemap="#lab3_1_1_liste_3_01_t_01_4_coll__map" alt="Collaboration graph"/></div>
<map name="lab3_1_1_liste_3_01_t_01_4_coll__map" id="lab3_1_1_liste_3_01_t_01_4_coll__map">
<area shape="rect" id="node2" href="classlab3_1_1_liste_1_1_noeud.html" title="classe interne représentant un noeud typique" alt="" coords="5,5,168,32"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">légende</a>]</span></center></div>

<p><a href="classlab3_1_1_liste-members.html">Liste de tous les membres</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlab3_1_1_liste_1_1_noeud.html">Noeud</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">classe interne représentant un noeud typique  <a href="classlab3_1_1_liste_1_1_noeud.html#details">Plus de détails...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Fonctions membres publiques</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlab3_1_1_liste.html#a64a860c49ff40b0f6febc1656a0350f3">Liste</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructeur par défaut.  <a href="#a64a860c49ff40b0f6febc1656a0350f3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlab3_1_1_liste.html#a9ae2d4da017595466f9ec4cfbfa34cf7">Liste</a> (const <a class="el" href="classlab3_1_1_liste.html">Liste</a> &amp;p_liste)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructeur de copie.  <a href="#a9ae2d4da017595466f9ec4cfbfa34cf7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlab3_1_1_liste.html#a9bd3673416245c1ef110797833f8c60a">~Liste</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructeur.  <a href="#a9bd3673416245c1ef110797833f8c60a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classlab3_1_1_liste.html">Liste</a>&lt; T &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlab3_1_1_liste.html#a5cd1a079991cd5d5472ac26782f4f24b">operator=</a> (const <a class="el" href="classlab3_1_1_liste.html">Liste</a>&lt; T &gt; &amp;p_liste)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Surcharger l'opérateur =.  <a href="#a5cd1a079991cd5d5472ac26782f4f24b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlab3_1_1_liste.html#a7335b2f576ea9c5dca2a6a2d34fe2849">ajouter</a> (const T &amp;p_info, int p_position)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Ajouter un nouvel élément dans la liste.  <a href="#a7335b2f576ea9c5dca2a6a2d34fe2849"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlab3_1_1_liste.html#aba415bc1c18db2ece7b01dac7b1ad4d4">enleverEl</a> (const T &amp;p_elementARetirer)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enlever la premiére occurence d'un élément.  <a href="#aba415bc1c18db2ece7b01dac7b1ad4d4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlab3_1_1_liste.html#a20fc855cce22a84f517d89a5f6076109">enleverPos</a> (int p_position)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enlever un élément à une certaine position.  <a href="#a20fc855cce22a84f517d89a5f6076109"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlab3_1_1_liste.html#aa06becbd280c5ac958d3c2b08bd9650a">taille</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Demander la taille de la liste.  <a href="#aa06becbd280c5ac958d3c2b08bd9650a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlab3_1_1_liste.html#abe45f27ecbe8c64aa575873f3b9cca45">estVide</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Vérifier si la liste est vide.  <a href="#abe45f27ecbe8c64aa575873f3b9cca45"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlab3_1_1_liste.html#a34502f179c4121150fbf2a7a08540f20">appartient</a> (const T &amp;p_elementCherche) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Recherche l'existance d'un élément dans la liste.  <a href="#a34502f179c4121150fbf2a7a08540f20"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const T &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlab3_1_1_liste.html#a8f712898da2ad1a9ea109a3ecf352639">element</a> (int p_position) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Retourner l'élément situé à une certaine position.  <a href="#a8f712898da2ad1a9ea109a3ecf352639"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlab3_1_1_liste.html#a7d0ac90284d84f8adbf9c700fcb39658">position</a> (const T &amp;p_elementCherche) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Retourner la position d'un élément.  <a href="#a7d0ac90284d84f8adbf9c700fcb39658"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-types"></a>
Types privés</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classlab3_1_1_liste_1_1_noeud.html">Noeud</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlab3_1_1_liste.html#a022131affc6ecbbdf272b4d276c13444">pNoeud</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Définition d'un pointeur sur un <a class="el" href="classlab3_1_1_liste_1_1_noeud.html" title="classe interne représentant un noeud typique">Noeud</a>.  <a href="#a022131affc6ecbbdf272b4d276c13444"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-attribs"></a>
Attributs privés</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlab3_1_1_liste_1_1_noeud.html">pNoeud</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlab3_1_1_liste.html#a629daaa6c71683530c3b23f37efe36f4">premier</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlab3_1_1_liste.html#aad9a2739a753bb4eaf92f0c69b1988f0">cardinalite</a></td></tr>
<tr><td colspan="2"><h2><a name="friends"></a>
Amis</h2></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class U &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classlab3_1_1_liste.html#a7a2dccf6005baafc65b56d07a9c27fce">operator&lt;&lt;</a> (std::ostream &amp;p_out, const <a class="el" href="classlab3_1_1_liste.html">Liste</a>&lt; U &gt; &amp;p_liste)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Description détaillée</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br/>
class lab3::Liste&lt; T &gt;</h3>

<p>classe générique représentant une liste ordonnée </p>
<p>La classe gére une liste générique ordonnée. L'implémentation se fait dans une liste simplement chaînée. </p>
</div><hr/><h2>Documentation des définitions de type membres</h2>
<a class="anchor" id="a022131affc6ecbbdf272b4d276c13444"></a><!-- doxytag: member="lab3::Liste::pNoeud" ref="a022131affc6ecbbdf272b4d276c13444" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classlab3_1_1_liste_1_1_noeud.html">Noeud</a> * <a class="el" href="classlab3_1_1_liste.html">lab3::Liste</a>&lt; T &gt;::<a class="el" href="classlab3_1_1_liste_1_1_noeud.html">pNoeud</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Définition d'un pointeur sur un <a class="el" href="classlab3_1_1_liste_1_1_noeud.html" title="classe interne représentant un noeud typique">Noeud</a>. </p>
<p>Pour abréger les écritures </p>

</div>
</div>
<hr/><h2>Documentation des constructeurs et destructeur</h2>
<a class="anchor" id="a64a860c49ff40b0f6febc1656a0350f3"></a><!-- doxytag: member="lab3::Liste::Liste" ref="a64a860c49ff40b0f6febc1656a0350f3" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlab3_1_1_liste.html">lab3::Liste</a>&lt; T &gt;::<a class="el" href="classlab3_1_1_liste.html">Liste</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructeur par défaut. </p>
<dl class="post"><dt><b>Postcondition:</b></dt><dd>Une instance de la classe <a class="el" href="classlab3_1_1_liste.html" title="classe générique représentant une liste ordonnée">Liste</a> est initialisée </dd></dl>

</div>
</div>
<a class="anchor" id="a9ae2d4da017595466f9ec4cfbfa34cf7"></a><!-- doxytag: member="lab3::Liste::Liste" ref="a9ae2d4da017595466f9ec4cfbfa34cf7" args="(const Liste &amp;p_liste)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlab3_1_1_liste.html">lab3::Liste</a>&lt; T &gt;::<a class="el" href="classlab3_1_1_liste.html">Liste</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classlab3_1_1_liste.html">Liste</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>p_liste</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructeur de copie. </p>
<dl><dt><b>Paramètres:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_liste</td><td>la liste à copier </td></tr>
  </table>
  </dd>
</dl>
<dl class="pre"><dt><b>Précondition:</b></dt><dd>Il faut qu'il y ait suffisamment de mémoire </dd></dl>
<dl class="post"><dt><b>Postcondition:</b></dt><dd>une copie profonde la liste source </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">bad_alloc</td><td>s'il n'y a pas assez de mémoire </td></tr>
  </table>
  </dd>
</dl>

<p><div class="dynheader">
Voici le graphe d'appel pour cette fonction :</div>
<div class="dyncontent">
<div class="center"><img src="classlab3_1_1_liste_a9ae2d4da017595466f9ec4cfbfa34cf7_cgraph.png" border="0" usemap="#classlab3_1_1_liste_a9ae2d4da017595466f9ec4cfbfa34cf7_cgraph" alt=""/></div>
<map name="classlab3_1_1_liste_a9ae2d4da017595466f9ec4cfbfa34cf7_cgraph" id="classlab3_1_1_liste_a9ae2d4da017595466f9ec4cfbfa34cf7_cgraph">
<area shape="rect" id="node3" href="classlab3_1_1_liste.html#abe45f27ecbe8c64aa575873f3b9cca45" title="Vérifier si la liste est vide." alt="" coords="174,5,309,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a9bd3673416245c1ef110797833f8c60a"></a><!-- doxytag: member="lab3::Liste::~Liste" ref="a9bd3673416245c1ef110797833f8c60a" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlab3_1_1_liste.html">lab3::Liste</a>&lt; T &gt;::~<a class="el" href="classlab3_1_1_liste.html">Liste</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destructeur. </p>
<dl class="post"><dt><b>Postcondition:</b></dt><dd>l'instance de <a class="el" href="classlab3_1_1_liste.html" title="classe générique représentant une liste ordonnée">Liste</a> est détruite </dd></dl>

</div>
</div>
<hr/><h2>Documentation des fonctions membres</h2>
<a class="anchor" id="a7335b2f576ea9c5dca2a6a2d34fe2849"></a><!-- doxytag: member="lab3::Liste::ajouter" ref="a7335b2f576ea9c5dca2a6a2d34fe2849" args="(const T &amp;p_info, int p_position)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classlab3_1_1_liste.html">lab3::Liste</a>&lt; T &gt;::ajouter </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>p_info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>p_position</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Ajouter un nouvel élément dans la liste. </p>
<dl><dt><b>Paramètres:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_position</td><td>où doit être ajouté le nouvel élément </td></tr>
  </table>
  </dd>
</dl>
<dl class="pre"><dt><b>Précondition:</b></dt><dd>Il y a assez de mémoire pour ajouter l'élément x </dd>
<dd>
La position d'ajout, pos, est comprise entre 1 et |L|+1 </dd></dl>
<dl><dt><b>Paramètres:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_info</td><td>les données à ajouter </td></tr>
  </table>
  </dd>
</dl>
<dl class="post"><dt><b>Postcondition:</b></dt><dd>La liste comprend un élément de plus </dd>
<dd>
La liste est inchangée sinon </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">range_range</td><td>si la position est erronée </td></tr>
    <tr><td class="paramname">bad_alloc</td><td>si pas assez de mémoire </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a34502f179c4121150fbf2a7a08540f20"></a><!-- doxytag: member="lab3::Liste::appartient" ref="a34502f179c4121150fbf2a7a08540f20" args="(const T &amp;p_elementCherche) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classlab3_1_1_liste.html">lab3::Liste</a>&lt; T &gt;::appartient </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>p_elementCherche</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Recherche l'existance d'un élément dans la liste. </p>
<dl><dt><b>Paramètres:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_elementCherche</td><td>l'élément cherché </td></tr>
  </table>
  </dd>
</dl>
<dl class="post"><dt><b>Postcondition:</b></dt><dd>La liste est inchangée </dd></dl>
<dl class="return"><dt><b>Renvoie:</b></dt><dd>VRAI si l'élément est présent, FAUX sinon </dd></dl>

</div>
</div>
<a class="anchor" id="a8f712898da2ad1a9ea109a3ecf352639"></a><!-- doxytag: member="lab3::Liste::element" ref="a8f712898da2ad1a9ea109a3ecf352639" args="(int p_position) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const T &amp; <a class="el" href="classlab3_1_1_liste.html">lab3::Liste</a>&lt; T &gt;::element </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>p_position</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retourner l'élément situé à une certaine position. </p>
<dl><dt><b>Paramètres:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_position</td><td>position de l'élement </td></tr>
  </table>
  </dd>
</dl>
<dl class="pre"><dt><b>Précondition:</b></dt><dd>La position est comprise entre 1 et |L|+1 </dd></dl>
<dl class="post"><dt><b>Postcondition:</b></dt><dd>La liste est inchangée dans tous les cas </dd></dl>
<dl class="return"><dt><b>Renvoie:</b></dt><dd>L'élément à la position demandée est retourné </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">range_error</td><td>si la précondition n'est pas respectée </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aba415bc1c18db2ece7b01dac7b1ad4d4"></a><!-- doxytag: member="lab3::Liste::enleverEl" ref="aba415bc1c18db2ece7b01dac7b1ad4d4" args="(const T &amp;p_elementARetirer)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classlab3_1_1_liste.html">lab3::Liste</a>&lt; T &gt;::enleverEl </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>p_elementARetirer</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enlever la premiére occurence d'un élément. </p>
<dl><dt><b>Paramètres:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_elementARetirer</td><td>l'élément à retirer de la liste </td></tr>
  </table>
  </dd>
</dl>
<dl class="pre"><dt><b>Précondition:</b></dt><dd>l'élément doit étre présent dans la liste </dd></dl>
<dl class="post"><dt><b>Postcondition:</b></dt><dd>La liste comprend un élément de moins </dd>
<dd>
La liste est inchangée sinon </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">logic_error</td><td>si l'élément est absent </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a20fc855cce22a84f517d89a5f6076109"></a><!-- doxytag: member="lab3::Liste::enleverPos" ref="a20fc855cce22a84f517d89a5f6076109" args="(int p_position)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classlab3_1_1_liste.html">lab3::Liste</a>&lt; T &gt;::enleverPos </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>p_position</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enlever un élément à une certaine position. </p>
<dl><dt><b>Paramètres:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_position</td><td>la position dans la liste de l'élément à retirer </td></tr>
  </table>
  </dd>
</dl>
<dl class="pre"><dt><b>Précondition:</b></dt><dd>la position doit étre comprise entre 1 et |L|+1 </dd></dl>
<dl class="post"><dt><b>Postcondition:</b></dt><dd>La liste comprend un élément de moins </dd>
<dd>
La liste est inchangée sinon </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">range_error</td><td>si l'élément est absent </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="abe45f27ecbe8c64aa575873f3b9cca45"></a><!-- doxytag: member="lab3::Liste::estVide" ref="abe45f27ecbe8c64aa575873f3b9cca45" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classlab3_1_1_liste.html">lab3::Liste</a>&lt; T &gt;::estVide </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Vérifier si la liste est vide. </p>
<dl class="post"><dt><b>Postcondition:</b></dt><dd>La liste est inchangée </dd>
<dd>
VRAI est retourné si la liste est vide, FAUX sinon </dd></dl>

</div>
</div>
<a class="anchor" id="a5cd1a079991cd5d5472ac26782f4f24b"></a><!-- doxytag: member="lab3::Liste::operator=" ref="a5cd1a079991cd5d5472ac26782f4f24b" args="(const Liste&lt; T &gt; &amp;p_liste)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classlab3_1_1_liste.html">Liste</a>&lt; T &gt; &amp; <a class="el" href="classlab3_1_1_liste.html">lab3::Liste</a>&lt; T &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classlab3_1_1_liste.html">Liste</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>p_liste</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Surcharger l'opérateur =. </p>
<dl><dt><b>Paramètres:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_liste</td><td>la liste à assigner </td></tr>
  </table>
  </dd>
</dl>
<dl class="pre"><dt><b>Précondition:</b></dt><dd>Il y a assez de mémoire pour l'opération </dd></dl>
<dl class="post"><dt><b>Postcondition:</b></dt><dd>Une copie d'une liste est retournée </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">bad_alloc</td><td>si la précondition n'est pas respectée </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a7d0ac90284d84f8adbf9c700fcb39658"></a><!-- doxytag: member="lab3::Liste::position" ref="a7d0ac90284d84f8adbf9c700fcb39658" args="(const T &amp;p_elementCherche) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classlab3_1_1_liste.html">lab3::Liste</a>&lt; T &gt;::position </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>p_elementCherche</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retourner la position d'un élément. </p>
<dl><dt><b>Paramètres:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_elementCherche</td><td>l'élément cherché </td></tr>
  </table>
  </dd>
</dl>
<dl class="pre"><dt><b>Précondition:</b></dt><dd>L'élément doit être présent dans la liste </dd></dl>
<dl class="post"><dt><b>Postcondition:</b></dt><dd>La liste est inchangée dans tous les cas </dd></dl>
<dl class="return"><dt><b>Renvoie:</b></dt><dd>La position de l'élément </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">logic_error</td><td>si la précondition n'est pas respectée </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa06becbd280c5ac958d3c2b08bd9650a"></a><!-- doxytag: member="lab3::Liste::taille" ref="aa06becbd280c5ac958d3c2b08bd9650a" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classlab3_1_1_liste.html">lab3::Liste</a>&lt; T &gt;::taille </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Demander la taille de la liste. </p>
<dl class="return"><dt><b>Renvoie:</b></dt><dd>le nombre d'éléments </dd></dl>
<dl class="post"><dt><b>Postcondition:</b></dt><dd>La liste est inchangée </dd>
<dd>
La taille de liste </dd></dl>

</div>
</div>
<hr/><h2>Documentation des fonctions amies et associées</h2>
<a class="anchor" id="a7a2dccf6005baafc65b56d07a9c27fce"></a><!-- doxytag: member="lab3::Liste::operator&lt;&lt;" ref="a7a2dccf6005baafc65b56d07a9c27fce" args="(std::ostream &amp;p_out, const Liste&lt; U &gt; &amp;p_liste)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<div class="memtemplate">
template&lt;class U &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::ostream&amp; operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>p_out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classlab3_1_1_liste.html">Liste</a>&lt; U &gt; &amp;&#160;</td>
          <td class="paramname"><em>p_liste</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Documentation des données membres</h2>
<a class="anchor" id="aad9a2739a753bb4eaf92f0c69b1988f0"></a><!-- doxytag: member="lab3::Liste::cardinalite" ref="aad9a2739a753bb4eaf92f0c69b1988f0" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classlab3_1_1_liste.html">lab3::Liste</a>&lt; T &gt;::<a class="el" href="classlab3_1_1_liste.html#aad9a2739a753bb4eaf92f0c69b1988f0">cardinalite</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>cardinalité de la liste </p>

</div>
</div>
<a class="anchor" id="a629daaa6c71683530c3b23f37efe36f4"></a><!-- doxytag: member="lab3::Liste::premier" ref="a629daaa6c71683530c3b23f37efe36f4" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlab3_1_1_liste_1_1_noeud.html">pNoeud</a> <a class="el" href="classlab3_1_1_liste.html">lab3::Liste</a>&lt; T &gt;::<a class="el" href="classlab3_1_1_liste.html#a629daaa6c71683530c3b23f37efe36f4">premier</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Pointeur vers le permier élément de la liste </p>

</div>
</div>
<hr/>La documentation de cette classe a été générée à partir des fichiers suivants :<ul>
<li><a class="el" href="_liste_8h.html">Liste.h</a></li>
<li><a class="el" href="_liste_8hpp.html">Liste.hpp</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespacelab3.html">lab3</a>      </li>
      <li class="navelem"><a class="el" href="classlab3_1_1_liste.html">Liste</a>      </li>
      <li class="footer">Généré le Sat Nov 30 2013 12:55:21 pour Annuaire genealogique associatif par&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </li>
    </ul>
  </div>

</body>
</html>
